In a virtualized computing network, a network node may be implemented as a virtual machine (VM) that is hosted by a hypervisor. Typically, a VM is executed so that the VM is unaware of the underlying physical platform on which the VM and the hypervisor operate. That is, the hypervisor provides the VM with a virtualized operating platform or interface so that the VM functionality does not have to be customized or modified to meet the requirements of the underlying hardware or machine.
Referring to FIG. 1, a VM 100 is unaware that it is running over a virtualized platform. As a result, the process of transmitting data from VM 100 (i.e., a transmitting node) to a destination node in a virtualized network 190 involves determining the physical address (e.g., the data link (L2) layer address or the MAC address) associated with the destination node. A mechanism referred to as Address Resolution Protocol (ARP) may be utilized by the VM to determine the physical address for a destination node. If a corresponding network address (e.g., the IP address) for the destination node is available, the transmitting node may find the destination node's physical address by way of referencing an ARP lookup table (not shown in FIG. 1) that includes a mapping between the network address and the respective physical address of the destination node.
Still referring to FIG. 1, if the ARP lookup table does not include a mapping between the known network address of a destination node and the physical address of the destination node, then the transmitting node will have to broadcast a first ARP request to all the nodes in the network 190. As shown, the ARP request is transmitted (e.g., by way of a multicast) from VM 100 by way of a VM Ethernet interface 110 to hypervisor 120 and thereafter to the rest of the nodes in network 190. If the destination node receives the ARP request, the destination node will then submit an ARP reply that includes the physical address for the destination node in the reverse direction as shown.
In an overlay virtual network, the ARP request/reply of the virtual nodes are not broadcasted directly in the physical network, but are processed and sent encapsulated by the hypervisors which represent the only real entities in the physical network. Accordingly, VM 100 in the transmitting node includes the physical address of the destination node in the Ethernet header of the data packet and transmits the data packet which will be processed by hypervisor 120 before being ultimately encapsulated and delivered to the destination node.
Referring to FIG. 2, hypervisor 120 on which VM 100 is running upon receiving the data packet determines that the data packet is meant to be routed to a destination node on a virtual network via the physical network 190. A separate virtual network is implemented on network 190 by way of an overlay mechanism such that traffic communicated among the virtual nodes is encapsulated over the network 190 while routed inside the virtual network.
In network 190, hypervisor 120 utilizes a mechanism (e.g., a virtual network routing table) to find the physical address of the counterpart hypervisor hosting the destination node's VM. If the routing table (not shown) does not include the physical address, then the hypervisor 120 will need to broadcast a second ARP request and update the routing table when it receives the ARP reply that includes the physical address for the hypervisor hosting the destination node.
In a virtualized overlay network, the first ARP request submitted by VM 100 (see FIG. 1) and the second ARP request submitted by hypervisor 120 (see FIG. 2) take place on an ARP lookup miss for each data packet transmission. The double ARP submission and reply process (i.e., the participation of both the VM 100 and the hypervisor 120 in the ARP communication process) may cause unnecessary delay in data transmission and also adversely affect the availability of network bandwidth in network 190. More efficient data transmission methods and systems are desirable.